/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package GestionEconomica;



import java.sql.*;
import gestionJDBC.*;
import javax.swing.*;
import java.util.ArrayList;
import gestionJugadores.*;


/**
 * Clase que realiza las consultas, sobre la base de datos, relacionadas con los pagos
 * @author Rodrigo Díaz Alfaraz
 * @version 1.0
 */
public class pagoDB {
    private static gestorJDBC gestor = gestorJDBC.getInstance();



//    public Boolean consultarPago(int ide){
//            gestor.Conectar();
//            ResultSet rs=gestor.Consultar("select * from Pago where id_pago='"+ide+"'");
//
//            try {
//                    if(rs.first()){
//                            gestor.Desconectar();
//                            return true;
//                    }
//            } catch (SQLException e) {
//                    JOptionPane.showMessageDialog(null, "Error al consultar pagos\n"+e.getMessage());
//
//            }	
//
//            gestor.Desconectar();
//            return false;
//
//    }
    
    
    /**
     * Inserta en la tabla Pago de la base de datos el pago con los atibutos dados
     * @author Rodrigo Díaz Alfaraz 
     * @param id_pago identificado del pago
     * @param cantidad valor del pago
     * @param fecha_pago fecha del pago formato aaa-mm-dd
     * @return boolean true si la consulta se ha realizado con exito false caso contrario
     * @version 1.0
     */
     public boolean introducir( int id_pago, double cantidad, String fecha_pago){
            gestor.Conectar();
            
           boolean confirmacion= gestor.Insertar("INSERT INTO Pago (id_pago,cantidad,fecha_pago) VALUES ('"
                    +id_pago+"','"
                   +cantidad+"','"
                   +fecha_pago+"' )");
            gestor.Desconectar();
            return confirmacion;
           

    }
     
     /**
      * Consigue una lista de los pagos asociado a un jugador
      * @param id identificador de un jugador
      * @return arraylist<pago> de los pagos asociados a id
      * @version 1.0
      */
    public ArrayList<pago> getPagos(int id) {
        gestor.Conectar();
	ResultSet rs;
        rs = gestor.Consultar("select id_pago as id_pago from Realiza where id_jugador ='"
							+ id
							+ "'");
        
        ArrayList<pago> lista_pagos = new ArrayList<pago>();
	int i = 0;
        
        try{
            while(rs.next()){
                
                ResultSet rs2;
                rs2 = gestor.Consultar("select * from Pago where id_pago = '"
							+ (Integer) rs.getObject("id_pago")
							+ "'");
                rs2.next();
                
                lista_pagos.add(new pago());
                lista_pagos.get(i).setIde_pago( (Integer)rs2.getObject("id_pago"));
                lista_pagos.get(i).setCantidad( (Double) rs2.getObject("cantidad"));
                lista_pagos.get(i).setFecha_pago(  rs2.getObject("fecha_pago").toString());
                
                i++;
            }
        }catch(SQLException e ){
            JOptionPane.showMessageDialog(null,"Error al obtener datos de pagos en pagoDB\n"
							+ e.getMessage());
	}
        
       

        gestor.Desconectar();
        return lista_pagos;
    }
}
